const cartModel=require('../db/cart')
const respond=require('../utils/respond')



module.exports={
    addcart:async(req,res)=>{
        let{userid,goodsid,goodsnumber}=req.body
        //存到数据库
        //判断之前是否存过
        let cartData=await cartModel.findOne({userid,goodsid})
        if(cartData){
            //存在过就让他+1
            await cartModel.updateOne({userid,goodsid},{goodsnumber:cartData.goodsnumber+1})
            respond(res,0,'添加成功')
        }else{
            //没存在过就让他写一个新的上去
            let docs=await cartModel.insertMany([{
                userid,
                goodsid,
                goodsnumber
            }])
            if(docs.length===0){
                respond(res,1,'添加失败')
                return
            }
            respond(res,0,'添加成功')
        }
    },
     
    getCarts:async(req,res)=>{
        //按用户id来查购物车数据库 用户id靠前端给这里传
        let{id}=req.params
        //查到一个数组 用docs来接收这个数组
        let docs=await cartModel.find({userid:id})
        //完了判断这个数组的长度 0就是没查到寄了
        if(docs.length){
            respond(res,0,'购物车数据获取成功',{
                // 把数据去扔回去
                data:docs
            }) 
        }else{
            //没查到
            respond(res,1,'购物车的数据获取失败')
        }
    }
    
}